package com.dragon.modules.yuegou.enums;

import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public enum AppType {

    /**
     * 安卓
     */
    ANDROID(0, "安卓"),
    /**
     * 苹果
     */
    IOS(1, "苹果");

    /**
     * 枚举标识
     */
    private final Integer code;

    /**
     * 别名
     */
    private final String alias;

    private AppType(Integer code, String alias) {
        this.code = code;
        this.alias = alias;
    }

    public Integer getValue() {
        return code;
    }

    /**
     * 枚举标识
     *
     * @return code
     */
    public Integer getCode() {
        return code;
    }

    /**
     * 别名
     *
     * @return alias
     */
    public String getAlias() {
        return alias;
    }

    /**
     * 把code转化为费用类型枚举
     *
     * @param code 代码
     * @return
     */
    public static CardType from(Integer code) {
        if (code == null) {
            return null;
        }
        return CODE_MAP.get(code);
    }

    /**
     * Code Map for CardType
     */
    private static final Map<Integer, CardType> CODE_MAP = Stream.of(CardType.values())
            .collect(Collectors.toMap(CardType::getCode, e -> e));

}
